# Лекция: Лямбда-выражения в Java

Лямбда-выражения в Java - это короткий способ представления методов без имени. Они обычно используются для передачи поведения в методы или для создания анонимных классов.

## Синтаксис лямбда-выражений

Лямбда-выражение состоит из списка параметров, стрелки `->` и тела выражения.

```java
(parameters) -> expression
```

## Использование лямбда-выражений

Лямбда-выражения обычно используются с функциональными интерфейсами - интерфейсами, которые содержат только один абстрактный метод.

```java
Runnable runnable = () -> System.out.println("Hello, world!");
```

---

# Практические задания

1. **Создайте лямбда-выражение без параметров, которое выводит "Hello, world!".** (Сложность: 1/5)
```java
Runnable helloWorld = () -> System.out.println("Hello, world!");
helloWorld.run();
```

2. **Создайте лямбда-выражение с одним параметром, которое увеличивает его на 1 и возвращает результат.** (Сложность: 2/5)
```java
Function<Integer, Integer> increment = x -> x + 1;
System.out.println(increment.apply(5)); // выводит 6
```

3. **Создайте лямбда-выражение с двумя параметрами, которое возвращает их сумму.** (Сложность: 2/5)
```java
BinaryOperator<Integer> sum = (x, y) -> x + y;
System.out.println(sum.apply(5, 3)); // выводит 8
```

4. **Создайте лямбда-выражение, которое возвращает длину строки.** (Сложность: 3/5)
```java
Function<String, Integer> length = s -> s.length();
System.out.println(length.apply("Hello")); // выводит 5
```

5. **Создайте лямбда-выражение, которое проверяет, является ли число четным.** (Сложность: 3/5)
```java
Predicate<Integer> isEven = x -> x % 2 == 0;
System.out.println(isEven.test(4)); // выводит true
System.out.println(isEven.test(5)); // выводит false
```